package com.ruicar.afs.cloud.manage.common.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.core.entity.BaseEntity;
import com.ruicar.afs.cloud.common.modules.contract.enums.CostExemptBillStatusEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.ProcessStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author: Lee
 * @date 2020-05-30 09:21:16
 * @description 费用豁免单信息
 */
@Data
@Accessors(chain = true)
@TableName(value = "manage_cost_exempt_bill", autoResultMap = true)
public class ManageCostExemptBill extends BaseEntity<ManageCostExemptBill> {

    /**
     * 合同号
     */
    @ApiModelProperty("合同号")
    private String contractNo;
    /**
     * 逾期金额
     */
    @ApiModelProperty("逾期金额")
    private BigDecimal overdueAmt;
    /**
     * 费用金额
     */
    @ApiModelProperty("费用金额")
    private BigDecimal costAmt;
    /**
     * 豁免金额最小值
     */
    @ApiModelProperty("豁免金额最小值")
    private BigDecimal minAmt;
    /**
     * 豁免金额最大值
     */
    @ApiModelProperty("豁免金额最大值")
    private BigDecimal maxAmt;
    /**
     * 豁免原因
     */
    @ApiModelProperty("豁免原因")
    private String exemptReason;
    /**
     * 状态 枚举值：有效、无效
     */
    @ApiModelProperty("状态")
    private CostExemptBillStatusEnum status;
    /**
     * 处理状态
     */
    @ApiModelProperty("处理状态")
    private ProcessStatusEnum processStatus;
    /**
     * 完成日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("完成日期")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;
    /**
     * 申请时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("申请时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date applyDate;
    /**
     * 客户姓名
     */
    @ApiModelProperty("客户姓名")
    private String clientName;
    /**
     * 罚息金额
     */
    @ApiModelProperty("罚息金额")
    private BigDecimal interestMoney;

    /**
     * 申请编号
     */
    @ApiModelProperty("申请编号")
    private String applyNo;
    /**
     * 到期费用金额
     */
    @ApiModelProperty("到期费用金额")
    private BigDecimal expireCostMoney;
    /**
     * 案件编号
     */
    @ApiModelProperty("案件编号")
    private String caseNo;
    /**
     * 净逾期金额
     */
    @ApiModelProperty("净逾期金额")
    private BigDecimal netOverdueAmt;

    /**
     * 最小比例
     */
    @ApiModelProperty("最小比例")
    private Double minRatio;

    /**
     * 最大比例
     */
    @ApiModelProperty("最大比例")
    private Double maxRatio;

    /**
     * 申请人
     */
    @ApiModelProperty("申请人")
    private String applyBy;


}
